package com.example.mapper;

import com.example.entity.DiskFiles;
import com.example.entity.Trash;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 操作diskFiles相关数据接口
*/
public interface DiskFilesMapper {

    /**
      * 新增
    */
    int insert(DiskFiles diskFiles);

    /**
      * 删除
    */
    int deleteById(Integer id);

    /**
      * 修改
    */
    int updateById(DiskFiles diskFiles);

    /**
      * 根据ID查询
    */
    DiskFiles selectById(Integer id);

    /**
      * 前台 查询所有
    */
    List<DiskFiles> selectAll(DiskFiles diskFiles);

    List<DiskFiles> selectAllData(DiskFiles diskFiles);

    @Select("select * from diskFiles where diskFilesname = #{diskFilesName}")
    DiskFiles selectByDiskFilesName(String diskFilesName);

    @Update("update disk_files set `delete` = 1 where id = #{id}")
    int trashById(Integer id);

    List<DiskFiles> selectByFolderId(Integer id);

    List<Trash> selectTrash(Integer userId);

    @Update("update disk_files set `delete` = 0 where id = #{id}")
    void restoreById(Integer id);

//    查出所有的包含已删除的
    List<DiskFiles> selectAllByFolderId(Integer id);

    @Select("select count(*) from disk_files where crate_time like concat('%', #{date}, '%')")
    Integer selectByDate(String date);
}
